package com.msi;

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Logger;

import com.msi.gui.GUIAdapter;

/**
 * Klasa uruchamiająca algorytm obsadzania stołów
 * 
 * @author Michał Kołodziejski
 */
public class Main {

    static GUIAdapter gui;

    public static boolean ascendingSort = true;

    /**
     * Uruchamia program
     * 
     * @param args
     *            argumenty wywołania
     */
    public static void main(String[] args) {

        boolean rootIsConfigured = Logger.getRootLogger().getAllAppenders()
                .hasMoreElements();
        if (!rootIsConfigured)
            BasicConfigurator.configure();
        gui = new GUIAdapter();

        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                gui.createAndShowGUI();
            }
        });
    }

    @SuppressWarnings("unused")
    private static Graph getTestGraph() {
        List<List<Integer>> matrix = new ArrayList<List<Integer>>();

        // v0
        List<Integer> v0list = new ArrayList<Integer>();
        v0list.add(0);
        v0list.add(1);
        v0list.add(1);
        v0list.add(1);

        // v1
        List<Integer> v1list = new ArrayList<Integer>();
        v1list.add(1);
        v1list.add(0);
        v1list.add(1);
        v1list.add(0);

        // v2
        List<Integer> v2list = new ArrayList<Integer>();
        v2list.add(1);
        v2list.add(1);
        v2list.add(0);
        v2list.add(0);

        // v3
        List<Integer> v3list = new ArrayList<Integer>();
        v3list.add(1);
        v3list.add(0);
        v3list.add(0);
        v3list.add(0);

        // matrix
        matrix.add(v0list);
        matrix.add(v1list);
        matrix.add(v2list);
        matrix.add(v3list);

        Graph g = Graph.createGraphByNeighbourMatrix(matrix);
        return g;
    }
}
